package com.chengyu.core.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UmsShopOwnLevelExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UmsShopOwnLevelExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNull() {
            addCriterion("shop_id is null");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNotNull() {
            addCriterion("shop_id is not null");
            return (Criteria) this;
        }

        public Criteria andShopIdEqualTo(Integer value) {
            addCriterion("shop_id =", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotEqualTo(Integer value) {
            addCriterion("shop_id <>", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThan(Integer value) {
            addCriterion("shop_id >", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("shop_id >=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThan(Integer value) {
            addCriterion("shop_id <", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThanOrEqualTo(Integer value) {
            addCriterion("shop_id <=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdIn(List<Integer> values) {
            addCriterion("shop_id in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotIn(List<Integer> values) {
            addCriterion("shop_id not in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdBetween(Integer value1, Integer value2) {
            addCriterion("shop_id between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotBetween(Integer value1, Integer value2) {
            addCriterion("shop_id not between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdIsNull() {
            addCriterion("level_price_own_id is null");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdIsNotNull() {
            addCriterion("level_price_own_id is not null");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdEqualTo(Integer value) {
            addCriterion("level_price_own_id =", value, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdNotEqualTo(Integer value) {
            addCriterion("level_price_own_id <>", value, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdGreaterThan(Integer value) {
            addCriterion("level_price_own_id >", value, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("level_price_own_id >=", value, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdLessThan(Integer value) {
            addCriterion("level_price_own_id <", value, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdLessThanOrEqualTo(Integer value) {
            addCriterion("level_price_own_id <=", value, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdIn(List<Integer> values) {
            addCriterion("level_price_own_id in", values, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdNotIn(List<Integer> values) {
            addCriterion("level_price_own_id not in", values, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdBetween(Integer value1, Integer value2) {
            addCriterion("level_price_own_id between", value1, value2, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andLevelPriceOwnIdNotBetween(Integer value1, Integer value2) {
            addCriterion("level_price_own_id not between", value1, value2, "levelPriceOwnId");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("start_time is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("start_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(Date value) {
            addCriterion("start_time =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(Date value) {
            addCriterion("start_time <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(Date value) {
            addCriterion("start_time >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("start_time >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(Date value) {
            addCriterion("start_time <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("start_time <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<Date> values) {
            addCriterion("start_time in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<Date> values) {
            addCriterion("start_time not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(Date value1, Date value2) {
            addCriterion("start_time between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("start_time not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andDeadlineIsNull() {
            addCriterion("deadline is null");
            return (Criteria) this;
        }

        public Criteria andDeadlineIsNotNull() {
            addCriterion("deadline is not null");
            return (Criteria) this;
        }

        public Criteria andDeadlineEqualTo(Date value) {
            addCriterion("deadline =", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineNotEqualTo(Date value) {
            addCriterion("deadline <>", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineGreaterThan(Date value) {
            addCriterion("deadline >", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineGreaterThanOrEqualTo(Date value) {
            addCriterion("deadline >=", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineLessThan(Date value) {
            addCriterion("deadline <", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineLessThanOrEqualTo(Date value) {
            addCriterion("deadline <=", value, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineIn(List<Date> values) {
            addCriterion("deadline in", values, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineNotIn(List<Date> values) {
            addCriterion("deadline not in", values, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineBetween(Date value1, Date value2) {
            addCriterion("deadline between", value1, value2, "deadline");
            return (Criteria) this;
        }

        public Criteria andDeadlineNotBetween(Date value1, Date value2) {
            addCriterion("deadline not between", value1, value2, "deadline");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumIsNull() {
            addCriterion("residue_upload_trends_num is null");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumIsNotNull() {
            addCriterion("residue_upload_trends_num is not null");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumEqualTo(Integer value) {
            addCriterion("residue_upload_trends_num =", value, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumNotEqualTo(Integer value) {
            addCriterion("residue_upload_trends_num <>", value, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumGreaterThan(Integer value) {
            addCriterion("residue_upload_trends_num >", value, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("residue_upload_trends_num >=", value, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumLessThan(Integer value) {
            addCriterion("residue_upload_trends_num <", value, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumLessThanOrEqualTo(Integer value) {
            addCriterion("residue_upload_trends_num <=", value, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumIn(List<Integer> values) {
            addCriterion("residue_upload_trends_num in", values, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumNotIn(List<Integer> values) {
            addCriterion("residue_upload_trends_num not in", values, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumBetween(Integer value1, Integer value2) {
            addCriterion("residue_upload_trends_num between", value1, value2, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadTrendsNumNotBetween(Integer value1, Integer value2) {
            addCriterion("residue_upload_trends_num not between", value1, value2, "residueUploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumIsNull() {
            addCriterion("residue_upload_goods_num is null");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumIsNotNull() {
            addCriterion("residue_upload_goods_num is not null");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumEqualTo(Integer value) {
            addCriterion("residue_upload_goods_num =", value, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumNotEqualTo(Integer value) {
            addCriterion("residue_upload_goods_num <>", value, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumGreaterThan(Integer value) {
            addCriterion("residue_upload_goods_num >", value, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("residue_upload_goods_num >=", value, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumLessThan(Integer value) {
            addCriterion("residue_upload_goods_num <", value, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumLessThanOrEqualTo(Integer value) {
            addCriterion("residue_upload_goods_num <=", value, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumIn(List<Integer> values) {
            addCriterion("residue_upload_goods_num in", values, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumNotIn(List<Integer> values) {
            addCriterion("residue_upload_goods_num not in", values, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumBetween(Integer value1, Integer value2) {
            addCriterion("residue_upload_goods_num between", value1, value2, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueUploadGoodsNumNotBetween(Integer value1, Integer value2) {
            addCriterion("residue_upload_goods_num not between", value1, value2, "residueUploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumIsNull() {
            addCriterion("residue_bind_expert_num is null");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumIsNotNull() {
            addCriterion("residue_bind_expert_num is not null");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumEqualTo(Integer value) {
            addCriterion("residue_bind_expert_num =", value, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumNotEqualTo(Integer value) {
            addCriterion("residue_bind_expert_num <>", value, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumGreaterThan(Integer value) {
            addCriterion("residue_bind_expert_num >", value, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("residue_bind_expert_num >=", value, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumLessThan(Integer value) {
            addCriterion("residue_bind_expert_num <", value, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumLessThanOrEqualTo(Integer value) {
            addCriterion("residue_bind_expert_num <=", value, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumIn(List<Integer> values) {
            addCriterion("residue_bind_expert_num in", values, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumNotIn(List<Integer> values) {
            addCriterion("residue_bind_expert_num not in", values, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumBetween(Integer value1, Integer value2) {
            addCriterion("residue_bind_expert_num between", value1, value2, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueBindExpertNumNotBetween(Integer value1, Integer value2) {
            addCriterion("residue_bind_expert_num not between", value1, value2, "residueBindExpertNum");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityIsNull() {
            addCriterion("residue_storage_quantity is null");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityIsNotNull() {
            addCriterion("residue_storage_quantity is not null");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityEqualTo(Double value) {
            addCriterion("residue_storage_quantity =", value, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityNotEqualTo(Double value) {
            addCriterion("residue_storage_quantity <>", value, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityGreaterThan(Double value) {
            addCriterion("residue_storage_quantity >", value, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityGreaterThanOrEqualTo(Double value) {
            addCriterion("residue_storage_quantity >=", value, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityLessThan(Double value) {
            addCriterion("residue_storage_quantity <", value, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityLessThanOrEqualTo(Double value) {
            addCriterion("residue_storage_quantity <=", value, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityIn(List<Double> values) {
            addCriterion("residue_storage_quantity in", values, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityNotIn(List<Double> values) {
            addCriterion("residue_storage_quantity not in", values, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityBetween(Double value1, Double value2) {
            addCriterion("residue_storage_quantity between", value1, value2, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueStorageQuantityNotBetween(Double value1, Double value2) {
            addCriterion("residue_storage_quantity not between", value1, value2, "residueStorageQuantity");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumIsNull() {
            addCriterion("residue_recommend_num is null");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumIsNotNull() {
            addCriterion("residue_recommend_num is not null");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumEqualTo(Integer value) {
            addCriterion("residue_recommend_num =", value, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumNotEqualTo(Integer value) {
            addCriterion("residue_recommend_num <>", value, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumGreaterThan(Integer value) {
            addCriterion("residue_recommend_num >", value, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("residue_recommend_num >=", value, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumLessThan(Integer value) {
            addCriterion("residue_recommend_num <", value, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumLessThanOrEqualTo(Integer value) {
            addCriterion("residue_recommend_num <=", value, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumIn(List<Integer> values) {
            addCriterion("residue_recommend_num in", values, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumNotIn(List<Integer> values) {
            addCriterion("residue_recommend_num not in", values, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumBetween(Integer value1, Integer value2) {
            addCriterion("residue_recommend_num between", value1, value2, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andResidueRecommendNumNotBetween(Integer value1, Integer value2) {
            addCriterion("residue_recommend_num not between", value1, value2, "residueRecommendNum");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNull() {
            addCriterion("add_time is null");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNotNull() {
            addCriterion("add_time is not null");
            return (Criteria) this;
        }

        public Criteria andAddTimeEqualTo(Date value) {
            addCriterion("add_time =", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotEqualTo(Date value) {
            addCriterion("add_time <>", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThan(Date value) {
            addCriterion("add_time >", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("add_time >=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThan(Date value) {
            addCriterion("add_time <", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThanOrEqualTo(Date value) {
            addCriterion("add_time <=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeIn(List<Date> values) {
            addCriterion("add_time in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotIn(List<Date> values) {
            addCriterion("add_time not in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeBetween(Date value1, Date value2) {
            addCriterion("add_time between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotBetween(Date value1, Date value2) {
            addCriterion("add_time not between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddByIsNull() {
            addCriterion("add_by is null");
            return (Criteria) this;
        }

        public Criteria andAddByIsNotNull() {
            addCriterion("add_by is not null");
            return (Criteria) this;
        }

        public Criteria andAddByEqualTo(String value) {
            addCriterion("add_by =", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotEqualTo(String value) {
            addCriterion("add_by <>", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByGreaterThan(String value) {
            addCriterion("add_by >", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByGreaterThanOrEqualTo(String value) {
            addCriterion("add_by >=", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByLessThan(String value) {
            addCriterion("add_by <", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByLessThanOrEqualTo(String value) {
            addCriterion("add_by <=", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByLike(String value) {
            addCriterion("add_by like", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotLike(String value) {
            addCriterion("add_by not like", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByIn(List<String> values) {
            addCriterion("add_by in", values, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotIn(List<String> values) {
            addCriterion("add_by not in", values, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByBetween(String value1, String value2) {
            addCriterion("add_by between", value1, value2, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotBetween(String value1, String value2) {
            addCriterion("add_by not between", value1, value2, "addBy");
            return (Criteria) this;
        }

        public Criteria andUpdTimeIsNull() {
            addCriterion("upd_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdTimeIsNotNull() {
            addCriterion("upd_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdTimeEqualTo(Date value) {
            addCriterion("upd_time =", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeNotEqualTo(Date value) {
            addCriterion("upd_time <>", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeGreaterThan(Date value) {
            addCriterion("upd_time >", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("upd_time >=", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeLessThan(Date value) {
            addCriterion("upd_time <", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeLessThanOrEqualTo(Date value) {
            addCriterion("upd_time <=", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeIn(List<Date> values) {
            addCriterion("upd_time in", values, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeNotIn(List<Date> values) {
            addCriterion("upd_time not in", values, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeBetween(Date value1, Date value2) {
            addCriterion("upd_time between", value1, value2, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeNotBetween(Date value1, Date value2) {
            addCriterion("upd_time not between", value1, value2, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdByIsNull() {
            addCriterion("upd_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdByIsNotNull() {
            addCriterion("upd_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdByEqualTo(String value) {
            addCriterion("upd_by =", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotEqualTo(String value) {
            addCriterion("upd_by <>", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByGreaterThan(String value) {
            addCriterion("upd_by >", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByGreaterThanOrEqualTo(String value) {
            addCriterion("upd_by >=", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByLessThan(String value) {
            addCriterion("upd_by <", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByLessThanOrEqualTo(String value) {
            addCriterion("upd_by <=", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByLike(String value) {
            addCriterion("upd_by like", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotLike(String value) {
            addCriterion("upd_by not like", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByIn(List<String> values) {
            addCriterion("upd_by in", values, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotIn(List<String> values) {
            addCriterion("upd_by not in", values, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByBetween(String value1, String value2) {
            addCriterion("upd_by between", value1, value2, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotBetween(String value1, String value2) {
            addCriterion("upd_by not between", value1, value2, "updBy");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumIsNull() {
            addCriterion("ui_layout_num is null");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumIsNotNull() {
            addCriterion("ui_layout_num is not null");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumEqualTo(Integer value) {
            addCriterion("ui_layout_num =", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumNotEqualTo(Integer value) {
            addCriterion("ui_layout_num <>", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumGreaterThan(Integer value) {
            addCriterion("ui_layout_num >", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("ui_layout_num >=", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumLessThan(Integer value) {
            addCriterion("ui_layout_num <", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumLessThanOrEqualTo(Integer value) {
            addCriterion("ui_layout_num <=", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumIn(List<Integer> values) {
            addCriterion("ui_layout_num in", values, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumNotIn(List<Integer> values) {
            addCriterion("ui_layout_num not in", values, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumBetween(Integer value1, Integer value2) {
            addCriterion("ui_layout_num between", value1, value2, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumNotBetween(Integer value1, Integer value2) {
            addCriterion("ui_layout_num not between", value1, value2, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumIsNull() {
            addCriterion("goods_main_img_design_num is null");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumIsNotNull() {
            addCriterion("goods_main_img_design_num is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumEqualTo(Integer value) {
            addCriterion("goods_main_img_design_num =", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumNotEqualTo(Integer value) {
            addCriterion("goods_main_img_design_num <>", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumGreaterThan(Integer value) {
            addCriterion("goods_main_img_design_num >", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_main_img_design_num >=", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumLessThan(Integer value) {
            addCriterion("goods_main_img_design_num <", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumLessThanOrEqualTo(Integer value) {
            addCriterion("goods_main_img_design_num <=", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumIn(List<Integer> values) {
            addCriterion("goods_main_img_design_num in", values, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumNotIn(List<Integer> values) {
            addCriterion("goods_main_img_design_num not in", values, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumBetween(Integer value1, Integer value2) {
            addCriterion("goods_main_img_design_num between", value1, value2, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_main_img_design_num not between", value1, value2, "goodsMainImgDesignNum");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}